package com.zjsd.sqeybusiness.service;

import java.text.ParseException;
import java.util.List;
import com.zjsd.sqeybusiness.domain.Busitask;
import com.zjsd.sqeybusiness.dto.*;

/**
 * 业务员目标任务Service接口
 *
 * @author Zheng
 * @date 2021-07-14
 */
public interface IBusitaskService
{
    /**
     * 查询业务员目标任务
     *
     * @param taskid 业务员目标任务ID
     * @return 业务员目标任务
     */
    public Busitask selectBusitaskById(Long taskid);

    /**
     * 查询业务员目标任务列表
     *
     * @param busitask 业务员目标任务
     * @return 业务员目标任务集合
     */
    public List<Busitask> selectBusitaskList(Busitask busitask);

    /**
     * 新增业务员目标任务
     *
     * @param busitask 业务员目标任务
     * @return 结果
     */
    public int insertBusitask(Busitask busitask);

    /**
     * 修改业务员目标任务
     *
     * @param busitask 业务员目标任务
     * @return 结果
     */
    public int updateBusitask(Busitask busitask);

    /**
     * 批量删除业务员目标任务
     *
     * @param taskids 需要删除的业务员目标任务ID
     * @return 结果
     */
    public int deleteBusitaskByIds(Long[] taskids);

    /**
     * 删除业务员目标任务信息
     *
     * @param taskid 业务员目标任务ID
     * @return 结果
     */
    public int deleteBusitaskById(Long taskid);

    int insertDeptTask(DeptTaskDTO deptTask);


    UserInfoDTO queryUserInfo(UserInfoDTO userInfoDTO);


    TaskDTO queryDeptBusiTask(TaskDTO taskDTO);

    JryjDTO queryJryj(JryjDTO jryjDTO);

    YwyAchDTO queryYwyAchievements(YwyAchDTO ywyAchDTO) throws ParseException;

    YwyAchDTO queryMonthRanking(YwyAchDTO ywyAchDTO) throws ParseException;

    YwyAchDTO queryWeekRanking(YwyAchDTO ywyAchDTO) throws ParseException;

    MonthStaticsDTO queryMonthStatics(MonthStaticsDTO monthStaticsDTO) throws ParseException;

    TaskStaticsDTO queryTaskStatics(TaskStaticsDTO taskStaticsDTO);

    List<DeptArchDTO> queryDeptAchDetail(DeptArchDTO deptArchDTO) throws ParseException;

    List<MonthStaticsDTO> queryDeptTaskDetail(MonthStaticsDTO monthStaticsDTO);

    List<MonthStaticsDTO> queryPsnlTaskDetail(MonthStaticsDTO monthStaticsDTO);

    YwyAchDTO queryYearRanking(YwyAchDTO ywyAchDTO) throws ParseException;
}
